//package com.gt.utils;
//import com.baomidou.mybatisplus.annotation.FieldFill;
//import com.baomidou.mybatisplus.generator.AutoGenerator;
//import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
//import com.baomidou.mybatisplus.generator.config.GlobalConfig;
//import com.baomidou.mybatisplus.generator.config.PackageConfig;
//import com.baomidou.mybatisplus.generator.config.StrategyConfig;
//import com.baomidou.mybatisplus.generator.config.po.TableFill;
//import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
//
//import java.util.ArrayList;
//import java.util.List;
//
//public class MyGeneratorConfig {
//
//
//    public static void main(String[] args) {
//        String outputDir = "D:\\guotongxingyi\\gtH5EasyfontHwApointBuy\\h5Shopping.cent\\src\\main\\java";
//        String[] prefix = new String[]{"sys_","bu_",""};
//        String[] tables = new String[]{
//                 "P_ACT_CENT_ACTION"
//                ,"P_ACT_CENT_ACTIVITY"
//                ,"P_ACT_CENT_FAVOR"
//                ,"P_ACT_CENT_ORDER"
//                ,"P_ACT_CENT_PRODUCT"
//                ,"P_ACT_CENT_SESSION"
//                ,"P_ACT_CENT_USER"
//        };
//
//
//        String module = "";
//        MyGeneratorConfig myGeneratorConfig2 = new MyGeneratorConfig(prefix,tables,module,outputDir);
//        myGeneratorConfig2.gen();
//    }
//
//    private final String module;
//    private final String[] tables;
//    private final String[] prefix;
//    private final String outputDir;
//
//    public MyGeneratorConfig(String[] prefix, String[] tables, String module, String outputDir) {
//        this.prefix = prefix;
//        this.tables = tables;
//        this.module = module;
//        this.outputDir = outputDir;
//    }
//
//
//    public void gen() {
//        // 代码生成器
//        AutoGenerator mpg = new AutoGenerator();
//
//        // 全局配置
//        GlobalConfig globalConfig = new GlobalConfig();
//        globalConfig.setOutputDir(this.outputDir);
//        globalConfig.setAuthor("sys");
//        globalConfig.setOpen(false);
//        globalConfig.setFileOverride(false);//是否覆盖文件
//        globalConfig.setEnableCache(false);
//        globalConfig.setBaseResultMap(true);
//        globalConfig.setBaseColumnList(true);
//        globalConfig.setActiveRecord(false);
//        mpg.setGlobalConfig(globalConfig);
//
//        // 数据源配置
//        DataSourceConfig dsc = new DataSourceConfig();
//        dsc.setUrl("jdbc:mysql://192.168.140.48:3306/cloudmkdb?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC");
//        // dsc.setSchemaName("public");
//        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
//        dsc.setUsername("cloudmk");
//        dsc.setPassword("9Yq_SjPy");
//        mpg.setDataSource(dsc);
//
//        // 包配置
//        PackageConfig pc = new PackageConfig();
//        pc.setModuleName(this.module);
//        pc.setParent("com.gt.modules.cent");
//        pc.setController("controller");
//        pc.setMapper("mapper");
//        pc.setXml("mapper.xml");
//        pc.setEntity("entity");
//        mpg.setPackageInfo(pc);
//
//        // 策略配置
//        StrategyConfig strategy = new StrategyConfig();
//        strategy.setNaming(NamingStrategy.underline_to_camel);
//        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
//        strategy.setRestControllerStyle(true);
////        strategy.setSuperEntityClass("com.tzb.cbd.core.BaseEntity");
//        // 写于父类中的公共字段
////        strategy.setSuperEntityColumns("create_date","update_date","remarks","del_flag");
//        List<TableFill> list = new ArrayList<>(4);
//        TableFill t1 = new TableFill("create_date", FieldFill.INSERT);
//        TableFill t2 = new TableFill("update_date", FieldFill.INSERT_UPDATE);
//        TableFill t3 = new TableFill("del_flag", FieldFill.INSERT);
//        list.add(t1);
//        list.add(t2);
//        list.add(t3);
//        strategy.setTableFillList(list);
//        strategy.setInclude(this.tables);
//        strategy.setControllerMappingHyphenStyle(true);
//        strategy.setTablePrefix(this.prefix);
//        mpg.setStrategy(strategy);
////        mpg.setTemplateEngine(new FreemarkerTemplateEngine());
//        mpg.execute();
//    }
//}
